Software Plan
Requested by: Mr. Ken Swarner
Systems Administrator
Computer Science Department of
TCP/IP Packet Identifier
Mirage Incorporated
We are there even if you cannot see us
Prepared by: Paul Aiuto
Richard Connell
Lauren Englisbe, Team Leader
Jayme Gresen
Jeffrey Habiniak
TCP/IP Packet Identifier
Software Plan
Table of Contents
System Definition:
Section 1: Problem Definition .. 3
Section 2: System Justification . 3
Section 3: Goals for the Project .. .. 3
Section 4: Constraints on the Project .. ... .. 3
Section 5: Functions to be Provided 4
Section 6: User Characteristics . 4
Section 7: Development/Operating/Maintenance Environments ... 4
Section 8: Solution Strategy .. 4
Section 9: Priorities of System Feature . 5
Section 10: System Acceptance Criteria ... 5
Section 11: Sources of Information .. 5
Project Plan:
Section 1: Life-cycle Model Linear Sequential (Classic Waterfall) Model . .6
Section 2: Organizational Structure ..7
Section 3: Preliminary Staffing and Resource Requirements .. 8
Section 4: Preliminary Development Schedule ..8
Section 5: Project Monitoring and Control Mechanisms .. 8
Section 6: Tools and Techniques to be Used 8
Section 7: Programming Languages . 8
Section 8: Testing Requirements .. 9
Section 9: Supporting Documents Required . 9
Section 10: Manner of Demonstration and Delivery 9
Section 11: Sources of Information 9
Appendix:
Section 1: Gantt Charts 10-11
Section 2: Glossary of Terms .. ..12-13
Section 3: Team Resumes .. .. 14-18
1.1 Problem Definition:
With the growth of Transmission Control Protocol/ Internet Protocol (TCP/IP), many do not understand how various types of information are stored in packets. Our client, Mr. Ken Swarner, has requested the development of a colorful web-based application that will show the different components of a data packet. If the packet is composed of another packet, the software will show this. Each packet will be broken up into different fields, such as Data and Address. There will also be a menu that will enable you to change the number system being used (i.e. binary to hexadecimal). This application will allow users to see what is contained within different components in each packet.
1.2 System Justification:
The purpose of our software is to allow the students of our client, Mr. Swarner, and also those of Dr. Lederman, to have a better understanding of what is contained in such packets as TCP and IP. Different packets are composed of other packets, and our software will allow users to clearly see this. Users will also learn what is within each packet and what each field does. This will enhance students exposure to difficult material and will reinforce the current textbook models available to the students.
The goal of the project is to create a Graphical User Interface (GUI), which can decipher TCP/IP and several other types of networking information packets. The GUI will take a single packet from the database and convert each part of it from binary to a user-friendly readable version.
As a team, our goal is to become further acquainted with TCP/IP and other network packets. We will gain knowledge of how information is represented within a packet. We will solve our clients problem by deploying the necessary software engineering techniques in a working environment.
The software client must be able to function on both a Linux and a Windows platform. Secondly, the software must be web-based and be able to be read into a Hypertext Transfer Markup Language (HTML) format. Finally, the deadline for this project is April 2004.
1) A database that will store all of the given packets in an organized manner;
2) The GUI will import packets from the database and will convert them from binary into a user-friendly language. By clicking on specific pieces of the packet, we will get an in-depth view of the IP packet or its related structures;
3) We will keep documentation on all meeting with Mr. Swarner and post them on our website for referral.
The main users will be Mr. Swarner and Dr. Lederman. Mr. Swarner will be using this to investigate the structure of TCP/IP packets and Dr. Lederman will be using this as a teaching model to explain how TCP/IP packets are structured and how each field functions. Since this software will be web-based, users will be required to use Internet Explorer and/or Netscape.
1.7:
Development/Operating/Maintenance Environments
The system will be developed on the Siena College Software Engineering workstations. The operation of this system will be available on any computer system with either Internet Explorer or Netscape, as the program will be web-based. The maintenance of this system will be determined at a later date.
Our team will use the Linear Sequential Model to develop our clients requested system; specifically the Classic Waterfall Method. This model consists of the following stages:
1) Software Plan: In this stage, the team determines the problem that the client is requesting to be solved;
2) Analysis: The team meets with the client to gather a comprehensive view of the requirements of the program to be designed;
3) Preliminary Design: The team translates the system requirements into software requirements;
4) Detailed Design: The team translates those software requirements into machine code and tests the code to correct errors. This stage of the project will take place in the Spring 2004 semester;
5) Acceptance Test: The software is installed and documentation is provided to the client to assist the use of the program. This stage will occur in the Spring 2004 semester.
1.9 Priorities of System Feature
A key feature of our system is user-friendliness. Mr. Swarner has a similar application that currently works, but it only prints out results in binary. He would like a colorful graphical interface with clickable boxes to demonstrate what is contained within each field of the packet. By using a menu, the user is able to convert the binary digits into other bases, such as hexadecimal. Also contained in this menu will be a description of the purpose of the field. If the packet is composed of other protocols, these too will be shown. From this, we would like to show how a component of the TCP/IP packet works. Therefore, we would like to make a program that is more intuitive for the user.
1.10: System Acceptance Criteria
The web-based program will allow for a number of online activities and will, at minimum, allow:
1) Users to see the contents of a packet not in binary form;
2) Users to see model in a clear, precise manner;
3) Users to see the decomposition of a packet;
4) Users to pick apart the packet and see what is inside;
5) Users to access a menu containing a description of what each field does;
6) Access to everyone with a web application.
1.11: Sources of Information
The major source of information for this segment of the project resulted from meetings with our client, Mr. Swarner. Other sources of information include Dr. Ledermans class lectures, the Software Engineering class textbook Software Engineering: A Practioners Approach by Roger S. Pressman, and previous Software Engineering teams projects, specifically Sharpe Software, Inc.
2.1: Life-Cycle Model: Linear Sequential (Classic Waterfall) Method
The purpose of the software plan is to define the problem that is to be solved and establish a preliminary plan of action.
The analysis process is mainly software-based. The team aims to understand the nature of the program which they are building, so they must understand the information domain for the software, as well as its required function, behavior, performance, and interface.
Software design is a multi-step process that focuses on four distinct attributes of a program: data structure, software architecture, interface representations and procedural or algorithmic detail. The design process translates requirements into a representation of the software that can be evaluated for quality before the beginning of the coding process.
In this phase of the model, the design is translated into a machine-readable code.
After code has been generated, testing begins. The testing process focuses on the logical internals of the software, ensuring that all statements have been tested. In this way, errors may be corrected and it can be established that defined input will produce actual results that agree with the required results.
Software support and maintenance allows changes and adaptations to be made if necessary; for example, a customer requiring functional or performance enhancements. Support reapplies each of the preceding phases to an existing program rather than a new one.
(Cited from Pressman, pp. 28-29.)
2.2: Organizational Structure
Mirage Incorporated is comprised of the following members:
Paul Aiuto paul.aiuto@students.siena.edu (518) 782-6474
Richard Connell richard.connell@students.siena.edu (518) 782-6347
Lauren Englisbe lauren.englisbe@students.siena.edu (518) 782-6352
Jayme Gresen jayme.gresen@students.siena.edu (518) 782-6080
Jeffrey Habiniak jeffrey.habiniak@students.siena.edu (518) 438-3635
Mirage Incorporated is organized as follows for the TCP/IP Project:
Lauren Englisbe Team Leader
Paul Aiuto Systems Administrator
Richard Connell Webmaster
Jeffrey Habiniak Webmaster
Jayme Gresen Librarian
The team structure of Mirage Incorporated is democratic decentralized. Decisions on problems and approach are made by group consensus. There will be no hierarchy.
The work assignment for each member is as follows:
Team Leader Organizes meetings and interviews for the team, as well as between the team and the client; guides the team throughout the semester.
Systems Administrator Maintains the team users accounts and is responsible for software administration.
Webmaster Creates and maintains the project web page.
Librarian Maintains all team documents and records of all team meetings.
2.3: Preliminary Staffing and Resource Requirements
Our required software resources will include a database management system such as Oracle and a web page editor such as Dreamweaver, as the application will be web-based. We may also use a Hypertext Preprocessor (PHP) editor, Visual C++, and Visual Basic. The hardware resources we require include computer systems, printers, and services. Our primary resources include those directly involved with the project: Mr. Ken Swarner of the Siena College Computer Science Department, and Dr. Timoth Lederman, our Software Engineering professor.
2.4: Preliminary Development Schedule
Please refer to the preliminary development schedule or Gantt chart on pages 8 and 9 of this document.
2.5: Project Monitoring and Control Mechanisms
In addition to the client interviews, the project team members will meet frequently to discuss where the project stands and to decide on the appropriate next steps for each member. The project team will assess the clients responses to the teams presentations of the Problem Definition/Project Plan, Software Requirements Specifications and Preliminary Design to verify that the ideas of the project team match up with the clients needs. Throughout our development, we will be continually testing our system. If at any time either the project team or client establishes that the program is not meeting the necessary needs, the project team will take the proper steps in correcting the problem.
2.6 Tools and Techniques to be Used:
Computers with Dreamweaver, Microsoft Project, and Microsoft Office will be used. Our team will be using Dreamweaver and PHP to develop our web application, and C++ for the software that the web application will run off of. Models provided by Mr. Swarner along with software engineering techniques will be used throughout the process of creating our system.
2.7: Programming
Languages
For the development of the TCP/IP project, we will be using Microsoft Visual Basic, C++, PHP, and for our website we will use HTML and Dreamweaver.
2.8: Testing
Requirements
There will be a thorough testing of this system throughout the development process. Team members as well as other students will also aid in the testing.
2.9: Supporting Documents Required
Supporting documentation will be provided to our client on the following dates:
1)
Problem Definition/Project Plan
2)
Software Requirements Specifications
3)
Preliminary Design
2.10: Manner of
Demonstration and Delivery
There will be many presentations given throughout the development. They will consist of PowerPoint presentations, speeches, demonstrations, and handouts. The purpose of our presentations will be to make sure our clients goals are being met, and to show what we have completed to date. Dates of presentations are as follows:
1)
Problem Definition/Project Plan
2)
Presentation: Problem Definition/Project Plan
3)
Software Requirements Specifications
4)
Presentation: Software Requirements Specifications
5)
Preliminary Design
6)
Presentation: Preliminary Design
2.11: Sources of Information
The major source of information for this segment of the project resulted from meetings with our client, Mr. Swarner. Other sources of information include Dr. Ledermans class lectures, the Software Engineering class textbook Software Engineering: A Practioners Approach by Roger S. Pressman, and previous Software Engineering teams projects, specifically Sharpe Software, Inc.
3.1: Gantt Chart
(Current Semester)
Gantt Chart (Entire Year)
3.2: Glossary of Terms
Code:
The symbolic arrangement of data or instructions in a computer program or the set of such instructions.
GUI:
Graphical User Interface: A user interface based on graphics (icons, pictures, and menus) instead of text; uses a mouse as well as a keyboard as an input device.
Gantt Chart:
A chart that depicts progress in relation to time, often used in planning and tracking a project
HMTL:
Hypertext Transfer Markup Language: A markup language used to structure text and multimedia documents and to set up hypertext links between documents, used extensively on the World Wide Web.
Hypertext:
A computer-based text retrieval system that enables a user to access particular locations in web pages or other electronic documents by clicking on links within specific web pages or documents.
Internet:
An interconnected system of networks that connects computers around the world via the TCP/IP protocol.
Linear Sequential Model:
Sometimes called the classic life cycle or the waterfall model, this model suggests a systematic, sequential approach to software development that begins at the system level and progresses through analysis, design, coding, testing, and support.
Linux:
A trademark for an open-source version of the UNIX operating system.
Network:
An openwork fabric or structure in which cords, threads, or wires cross at regular intervals.
Open-Source:
A method and philosophy for software licensing and distribution designed to encourage use and improvement of software written by volunteers by ensuring that anyone can copy the source code.
PHP:
Hypertext Preprocessor (server-side scripting
language)
Packet:
The unit of data sent across a network. "Packet" is a generic term used to describe a unit of data at any layer of the OSI protocol stack, but it is most correctly used to describe application layer data units ("application protocol data unit", APDU).
Protocol:
A standard procedure for regulating data transmission between computers.
Software:
Written programs, procedures, or rules and associated documentation pertaining to the operation of a computer system and that are stored in read/write memory.
TCP/IP:
Transmission Control Protocol/Internet
Protocol: A protocol for communication between
computers, used as a standard for transmitting data over networks and as the
basis for standard Internet protocols.
UNIX:
A powerful operating system developed at the Bell Telephone Laboratories.
3.3 Team Resumes
Paul J. Aiuto
Present
Address
Permanent Address
515 Loudon Road
Coram, NY 11727
(631) 513-6336
Email:
Paul.Aiuto@students.siena.edu
OBJECTIVE
To find a position with in a company where my computer
knowledge
and skills will be enhanced and used to improve the
productivity and efficiency of the corporation.
B.S. in
Computer Science May 2004
Procedural Design and Programming, Software Fundamentals,
Data Structures, Assembly Language, Networks and Communications, Object
Oriented Design, Database Management, Operating Systems, System
Administration
· PC/LAN Infrastructure Support Technician
· Troubleshoot Windows 2000/NT problems that end user
have
· Maintain Software and
Network connectivity for users
· Develop problem solving skills and people
skills
· Develop decision-making tactics
Web Page Design, Port Jeff Bowl March 2000-2003
· Create a web page
· Display and advertise products in an
efficient manner
· Develop important people skills and
decision-making tactics
Computer Consultant, ITS
·
Assist people with their
computing needs
·
Troubleshoot problems
computer users may have
·
Develop people and
problem solving skills
COMPUTER SKILLS
·
Skilled in Microsoft
Word, Microsoft Works, Front Page, and PowerPoint.
·
Proficient in
troubleshooting hardware and software problems on computer systems.
·
Learning program
languages and operating systems such as C, C++, Scheme, Windows 95/98/NT/2000/XP, Dos, UNIX, Assembly,
Object Oriented C++ (OOP), Linux,
·
Learning software
packages and protocols such as: Lotus Notes, Bloomberg,
Richard R. Connell
School Address: Permanent
Address:
SPOB
Phone: (518) 782-6347
Objectives: To obtain a position in a firm as a Computer Programmer, or Program manager, where my knowledge of Oracle, C++, HTML, or Assembly Language will be of value to my employer.
Employment:
Department of Institutional Advancement
July 2001 Clerical Position
Duties: Inputting Data on all Siena Alumni, Students, and Financial Donors in the Banner Database.
Maintaining our Database by categorizing and updating all data on a daily basis to ensure that all information is always current.
Assist all other employees when needed, Filing and Typing, correspondence, etc.
Education:
(2000 to the present) Computer Science Major/Business Minor. Class of 2004
Courses:
· Data Structures
· Object Oriented
· Analysis of Algorithms
· Assembly Language
· Graphic Design
· Database Management (using Oracle in SQL Language)
· Discrete Mathematics
· Economics
· Accounting
· Marketing Management
1996-2000 Bishop
Maginn, High School,
Others: HTML and web design. (Self-taught)
Reference: Available on request
Lauren A. Englisbe
Present address: (until 5/04) Permanent address:
SPOB 3470
515 Loudon Road Telephone: (518)
439-2455
Telephone: (518) 782-6352
OBJECTIVE:
To obtain a challenging position in the field of Computer
Science
B.S. Computer Science, French Minor, May 2004
Cumulative GPA: 3.84; Computer Science: 3.67; French:
4.0; Delta Upsilon Sigma National Scholastic Honor Society
Study Abroad: The
·
Languages: C++, Basic,
MIPS Assembly, Scheme
·
Operating Systems: UNIX,
Windows 3.x/9x/NT/2000/XP
·
Software Packages:
Microsoft Office, Microsoft Visual C++, Microsoft Visual Basic/.NET 2003,
Windows CE, Visual Turing, EZWin, OpenGL
·
Database Management:
Oracle 9i, Microsoft SQL Server/ CE
Procedural Design and Programming, Data Structures,
Computer Architecture and Assembly Language, Object-Oriented Design and
Programming, Analysis of Algorithms, Database
Management, Communications and Networks, Computer Graphics, Software
Engineering
Team
Leader, Fall 2003, Software
Engineering Class,
·
Organized and supervised
group during software planning process
·
Established group
meetings and project reviews with client and class instructor
Computer
Science Tutor, September 2003 until
present,
·
Assisted students with
computer programming difficulties in several languages
·
Researched
synchronization applications between handheld computers and central databases
·
Translated a program
using an ADOCE connection designed in Embedded Visual Basic into a Visual
Basic.NET 2003 environment with Remote Data Access
·
Improved program
functionality with respect to connectivity and explored time-sensitivity issues
Jayme M. Gresen
Present Address Permanent
Address
(518) 782-6080; E-Mail jayme.gresen@students.siena.edu
A position in the computer science field which will allow me to utilize my present skills while also furthering my knowledge.
B.S. in Computer Science, Minor in Mathematics, May 2004
GPA: 3.1/4.0; Deans List 2002-2003
COMPUTER EXPERIENCE:
·
Programming
in C/C++, JavaScript, Visual Basic, Scheme, OpenGL, HTML, Assembly
·
Database
background: Oracle/SQL
RELEVANT COURSEWORK:
Computer Graphics, Database,
Object Oriented Programming, Data Structures, Assembly Language, Scheme,
Analysis of Algorithms, Discrete Structures I & II, Numerical Methods
Computer Programmer Intern, BEST Systems,
·
Developed
pro-active strategy to attack return of mail due to bad addresses
·
Organized
and educated staff of 50 people in relation to changes needing to be made
·
Provided
programmers with a schedule of the year for creating bills for 12 accounts
·
Suggested
strategies to save approximately $20,000/year on cost of extra postage for
returned mail
Customer Service
Representative, BEST Systems,
·
Clarified
questions from patients on their bills via phone
·
Assisted
in achieving monthly goals through performing additional duties
·
Managed
distribution of work to other employees on the team
·
Trained
approximately 15-20 employees on the computerized billing system and upgrades
as implemented
Senior Cashier, Faddegons Nursery,
·
Responsible
for opening and closing the store
·
Administered
and monitored money being put into registers and secured it at night
·
Trained
approximately 6-10 employees on the computer system and customer relations
·
Focused
on customer service and satisfaction
·
HAZCOM
trained
Data Entry Clerk, BEST Systems,
Cashier, Faddegons Nursery,
Languages: Proficient in Spanish
JEFFREY RYAN HABINIAK
(518) 438-3635
E-Mail: Jeffrey.Habiniak@siena.edu
OBJECTIVE
A position in the field of computer programming and computer information management.
EDUCATION
B.S in Computer Science and Minor in Math, May 2004
GPA: 3.0/4.0
Deans List, Fall 2001
EXPERIENCE
Customer
Service Representative, Avis-Rent-A-Car,
· Responsible for inspection and check in of car returns.
Notetaker,
· Took class notes for a disabled student.
Temporary, Blue Shield of NENY, Albany, NY, 2000-2002
· Processed and filed medical claims.
· Typed and mailed medical billing letters.
Technician,
D. Leto Telecommunications,
· Programmed Telephone systems.
· Ran CAT5 cable and terminated cables.
COMPUTER SKILLS
Languages: Scheme, C++, HTML, Oracle/SQL, SPIM.
Software/OS: Win95/98/ME/XP, Internet, Word, Excel, PowerPoint, Photoshop.
Courses: Procedural Design-Programming
Data Structures
Comp Arch and Assembly Language
Object-Oriented Design
Analysis of Algorithms
Numerical Methods
Data Base Management
Computer Graphics